package com.zjhn.ds.service;

import com.zjhn.ds.common.BizResult;
import com.zjhn.ds.common.PageBean;
import com.zjhn.ds.common.PageResult;
import com.zjhn.ds.domain.dto.pc.SpinnerDto;
import com.zjhn.ds.domain.dto.pc.WorkShopStationDto;
import com.zjhn.ds.domain.dto.pc.WorkshopClassDto;
import com.zjhn.ds.domain.dto.pc.WorkshopDto;
import com.zjhn.ds.param.AddUpdateClassParam;
import com.zjhn.ds.param.AddUpdateWorkshopParam;
import com.zjhn.ds.param.BindSpinnerParam;
import com.zjhn.ds.param.WorkshopRelPageParam;

import java.util.List;

public interface WorkshopService {

    // 新增车间
    BizResult<?> addUpdate(AddUpdateWorkshopParam param);

    // 删除车间
    BizResult<?> delete(String workshopId);

    // 分页查询车间信息
    BizResult<PageResult<WorkshopDto>> page(PageBean param);

    // 分页查询车间的挡车工信息
    BizResult<PageResult<SpinnerDto>> spinnerPage(WorkshopRelPageParam param);

    // 车间删除挡车工
    BizResult<?> removeSpinner(String spinnerId);

    // 车间绑定挡车工
    BizResult<?> bindSpinner(BindSpinnerParam param);

    // 分页查询车间工位信息
    BizResult<PageResult<WorkShopStationDto>> stationPage(WorkshopRelPageParam param);

    // 获取车间班次时间表
    BizResult<List<WorkshopClassDto>> getWorkshopClass(String workshopId);

    // 车间删除班次
    BizResult<?> removeWorkshopClass(String workshopClassId);

    // 新增/修改车间班次信息
    BizResult<?> addUpdateClass(AddUpdateClassParam param);
}
